package com.admin4j.server.system.service;

import com.admin4j.server.system.entity.SysMenu;
import com.admin4j.server.system.entity.vo.MenuVO;

import java.util.List;

/**
 * <p>
 * 菜单权限表 服务类
 * </p>
 *
 * @author andanyang
 * @since 2023-11-14
 */
public interface ISysMenuService {

    List<SysMenu> menusByUserId(Long userId);

    /**
     * 根据该用户目录树
     *
     * @param userId if null 查询全部
     * @return
     */
    List<MenuVO> treeByUserId(Long userId);

    default List<MenuVO> allTree() {
        return treeByUserId(null);
    }

    boolean save(SysMenu menu);

    boolean updateById(SysMenu menu);
}
